1. Field of the Invention
The present invention is related to interconnect busses of computer systems and in particular to distributed peer-to-peer communications across such interconnect busses.
2. Description of the Related Art
Many computer systems use interconnect busses for multiple types of traffic. In addition, other embedded digital systems use interconnect busses for connecting devices in the embedded digital system. One type of interconnect traffic that would be useful is distributed peer-to-peer transactions. Although existing interconnect protocols such as PCI-X can be used for peer-to-peer traffic, interconnect transactions today are typically processor to peripheral device transactions, for security and other reasons. Existing operating systems typically do not enable devices to communicate with each other directly across interconnect busses.
Further, multiple devices and types of devices can connect to an interconnect bus. However, each device and type of device typically uses a device-specific or type-of-device-specific data format, which may be different between the devices wishing to communicate. The conventional solution again uses processor-to-device transactions, with data moving from one device to the processor. The processor then moves the data from one buffer to another, converting the data as necessary, based upon pre-existing knowledge of the data formats of each device. Such a technique increases processor overhead and increases memory usage requirements.
In addition, moving data through the processor adds processor latency to the interconnect bus latency, increasing the time needed to send data from one device to another. Thus, performance overhead is increased without peer-to-peer transactions. Also, creation of new devices or data formats has typically required operating system modifications, which can significantly delay the ability to use a new device, and increases the complexity and length of time to develop device drivers.